package com.itheima.service.system;

import com.github.pagehelper.PageInfo;
import com.itheima.domain.system.Role;

import java.util.List;
import java.util.Map;

public interface IRoleService {

    /**
     * 查询所有用户
     *
     * @return PageInfo
     */
    PageInfo findAll(String companyId, int page, int size);

    /**
     * 根据id查询用户
     *
     * @param id
     * @return Role
     */
    Role findById(String id);

    /**
     * 保存用户
     *
     * @param role
     */
    void save(Role role);

    /**
     * 更新用户
     *
     * @param role
     */
    void update(Role role);

    /**
     * 删除用户
     *
     * @param id
     */
    void delete(String id);

    /**
     * 查询模块树形结构
     *
     * @param id
     * @return List<Map>
     */
    List<Map> findRoleModule(String id);


    /**
     * 保存角色模块权限
     */
    void updateRoleModule(String id, String moduleIds);

    /**
     * 查询所有角色
     *
     * @param companyId
     * @return List<Role>
     */
    List<Role> findAll(String companyId);

}
